(module test-other mzscheme
  (require "../src/core.scm" "../src/prims/level0.scm" "../src/prims/level1.scm"
           "test-support.scm"
           (planet "test.ss" ("schematics" "schemeunit.plt" 2)))
  
  (define-cat rec_fac dup 1 lteq_int [] [dup dec rec_fac mul_int] if)
  
  (provide other-tests)
  
  ;; Other Tests
  (define other-tests
    (test-suite "Other Tests"
                ;; Test recursive function definitions
                (cat-unit-test "fact base case" 1 1 rec_fac eq)
                (cat-unit-test "fact recurse" 120 5 rec_fac eq)
                (cat-test "list basic" ((lst 5 4)) => ('(5 4)))
                (cat-test "list nested" ((lst (lst 5) 4)) => ('((5) 4)))
                (cat-unit-test "list primitives" 5 4 (lst add_int) uncons swap pop apply 9 eq)
                )))
